package www.whqgdx.tangsenling.pingdingshan;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * EMAIL : danxionglei@foxmail.com
 * DATE : 16/3/11
 *
 * @author ldx
 */
public class FileUtils {
    //    public static String getFileNameFromURL(String fileUrl) {
//        if (fileUrl == null)
//            return null;
//        return fileUrl.substring(fileUrl.lastIndexOf('/') + 1);
//    }
//
//
//    /**
//     * 获取 excel 表格中的数据
//     *
//     * @param file  excel 表格的文件
//     * @param index 第几张表格中的数据
//     * @param isZip
//     */
//    public static ArrayList<StudentTable> importStudentXls(File file, int index, boolean isZip) {
//        ArrayList<StudentTable> studentTables = new ArrayList<>();
//        InputStream fileInputStream = null;
//        if (isZip) {
//            File studentTableDirectory = DirUtils.getStudentTableDirectory();
//            if (studentTableDirectory == null) {
//                return null;
//            }
//            String dir = studentTableDirectory.getPath();
//            String unZipPath = "";
//            try {
//                unZipPath = FileUtils.unZipFolder(file.getAbsolutePath(), dir);
//                if (StringUtils.isNull(unZipPath)) {
//                    return null;
//                }
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//            try {
//                fileInputStream = new FileInputStream(unZipPath);
//            } catch (FileNotFoundException e) {
//                e.printStackTrace();
//            }
//        } else {
//            try {
//                fileInputStream = new FileInputStream(file);
//            } catch (FileNotFoundException e) {
//                e.printStackTrace();
//            }
//        }
//        if (fileInputStream == null) {
//            return null;
//        }
//        Workbook workbook = null;
//        try {
//            workbook = Workbook.getWorkbook(fileInputStream);
//        } catch (IOException e) {
//            e.printStackTrace();
//        } catch (BiffException e) {
//            e.printStackTrace();
//        }
//        if (workbook == null) {
//            return null;
//        }
//        Sheet sheet = workbook.getSheet(index);
//        if (sheet == null) {
//            return null;
//        }
//        int sheetRows = sheet.getRows();
//        int sheetColumns = sheet.getColumns();
//
//        LogUtils.i("total rows is 行=" + sheetRows);
//        LogUtils.i("total cols is 列=" + sheetColumns);
//        StudentTable studentTable;
//
//        for (int i = 1; i < sheetRows; i++) {
//            studentTable = new StudentTable();
//            studentTable.setId(Long.valueOf(i));
//            studentTable.setCreate_time(System.currentTimeMillis());
//            studentTable.setLast_update_time(studentTable.create_time);
//            studentTable.setCardNum(sheet.getCell(0, i).getContents() + "");
//            studentTable.setStudentNum(sheet.getCell(1, i).getContents() + "");
//            studentTable.setStudentName(sheet.getCell(2, i).getContents() + "");
//            int grade = 0;
//            String gradeStr = sheet.getCell(3, i).getContents();
//            try {
//                grade = Integer.valueOf(gradeStr);
//            } catch (NumberFormatException e) {
//            }
//            studentTable.setStudentGrade(grade);
//            String sexStr = sheet.getCell(4, i).getContents();
//            int sex = -1;
//            if (StringUtils.isNotNull(sexStr)) {
//                if (sexStr.contains("男")) {
//                    sex = 0;
//                } else if (sexStr.contains("女")) {
//                    sex = 1;
//                }
//            }
//            studentTable.setSex(sex);
//            if (sheetColumns >= 6) {
//                String idCard = sheet.getCell(5, i).getContents();
//                if (!TextUtils.isEmpty(idCard)) {
//                    studentTable.setId_card_number(idCard);
//                }
//            }
//            DeviceTable deviceTable = DeviceInfoCache.getInstance().getDeviceTable();
//            String schoolIdStr = "";
//            if (deviceTable != null) {
//                schoolIdStr = deviceTable.schoolId;
//            }
//            long schoolId = 0;
//            if (StringUtils.isNotNull(schoolIdStr)) {
//                try {
//                    schoolId = Long.valueOf(schoolIdStr);
//                } catch (NumberFormatException e) {
//                }
//            }
//            studentTable.setSchoolId(schoolId);
//            studentTables.add(studentTable);
//        }
//        workbook.close();
//        return studentTables;
//    }
//
//    /**
//     * 创建excel表格
//     *
//     * @param file
//     * @return
//     */
//    public static int exportDeviceXls(File file) {
//        try {
//            if (file == null) {
//                File deviceIdDir = DirUtils.getDeviceIdDirectory();
//                if (deviceIdDir == null) {
//                    return -1;
//                }
//                String fileName = deviceIdDir.getAbsolutePath() + File.separator + "device_ids.xls";
//                file = new File(fileName);
//                if (!file.exists()) {
//                    file.createNewFile();
//                } else {
//                    file.delete();
//                }
//            }
//            WritableWorkbook book = Workbook.createWorkbook(file);
//            WritableSheet sheet = book.createSheet("设备号表", 0);
//            List<DeviceId> deviceIds = DbManager.getInstance().queryDeviceIds();
//            int size = deviceIds.size();
//            Label label;
//
//            deviceIds.add(0, new DeviceId("设备号"));
//            for (int i = 0; i < size; i++) {
//                String deviceId = deviceIds.get(i).deviceId;
//                LogUtils.i(deviceId);
//                label = new Label(0, i, deviceId);
//                sheet.addCell(label);
//            }
//            book.write();
//            book.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//            return -1;
//        }
//        return 0;
//    }
    public static String readFileByLine(String filePath) {
        return readFileByLine(new File(filePath));
    }

    public static String readFileByLine(File file) {
        StringBuilder resultBuilder = new StringBuilder("");
        String encoding = "utf-8";
        if (file != null && file.isFile() && file.exists()) {
            try {
                InputStreamReader isr = new InputStreamReader(new FileInputStream(file), encoding);
                BufferedReader br = new BufferedReader(isr);
                String line = null;
                while ((line = br.readLine()) != null) {
                    resultBuilder.append(line);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return resultBuilder.toString();
    }
}
